home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / workbench / libs / intuisup.lha / Intuisup / source.lha / Editor / defines.h next >
C/C++ Source or Header  |  1992-09-11  |  9KB  |  281 lines

  1. /* $Revision Header *** Header built automatically - do not edit! ***********
  2.  *
  3.  *    (C) Copyright 1991 by Torsten Jürgeleit
  4.  *
  5.  *    Name .....: defines.h
  6.  *    Created ..: Sunday 22-Dec-91 21:22:12
  7.  *    Revision .: 1
  8.  *
  9.  *    Date        Author                 Comment
  10.  *    =========   ====================   ====================
  11.  *    31-Dec-91   Torsten Jürgeleit      new font management
  12.  *    22-Dec-91   Torsten Jürgeleit      Created this file!
  13.  *
  14.  ****************************************************************************
  15.  *
  16.  *    Defines and structures
  17.  *
  18.  * $Revision Header ********************************************************/
  19.  
  20.     /* Defines for defaults */
  21.  
  22. #define DEFAULT_PROJECT_NAME        "unnamed"
  23. #define DEFAULT_PROJECT_ID        "test"
  24. #define DEFAULT_EDITOR_MODE        EDITOR_MODE_CREATE
  25. #define DEFAULT_SNAP_OFFSET        1
  26. #define DEFAULT_TEMPLATE_TYPE        TEMPLATE_TYPE_BUTTON
  27. #define DEFAULT_TEMPLATE_LIST_FLAGS    (TEMPLATE_LIST_FLAG_AVAIL_FONTS)
  28. #define DEFAULT_LIST_MODE        LIST_MODE_EDIT
  29.  
  30. #define DEFAULT_PROJECT_FILE_NAME    (DEFAULT_PROJECT_NAME ".tpl")
  31. #define DEFAULT_CSOURCE_FILE_NAME    (DEFAULT_PROJECT_NAME ".c")
  32.  
  33. #define DEFAULT_FONT_NAME        "topaz.font"
  34. #define DEFAULT_FONT_YSIZE        TOPAZ_EIGHTY
  35.  
  36.     /* Defines for windows */
  37.  
  38. #define EDIT_RENDER_INFO_FLAGS        (RENDER_INFO_FLAG_INNER_WINDOW | RENDER_INFO_FLAG_BACK_FILL)
  39. #define EDIT_OPEN_WINDOW_FLAGS        0
  40.  
  41. #define PROJECT_RENDER_INFO_FLAGS    0
  42. #define PROJECT_OPEN_WINDOW_FLAGS    0
  43.  
  44. #define EDITOR_WINDOW_LEFT        0
  45. #define EDITOR_WINDOW_TOP        0
  46. #define EDITOR_WINDOW_WIDTH        518
  47. #define EDITOR_WINDOW_HEIGHT        112
  48. #define EDITOR_WINDOW_DETAIL_PEN    0
  49. #define EDITOR_WINDOW_BLOCK_PEN        1
  50. #define EDITOR_WINDOW_TITLE        (UBYTE *)" Template Editor v1.0 "
  51. #define EDITOR_WINDOW_IDCMP        (CLOSEWINDOW | GADGET_IDCMP_FLAGS_ALL | MENUPICK)
  52. #define EDITOR_WINDOW_FLAGS        (WINDOWCLOSE | WINDOWDRAG | WINDOWDEPTH | SMART_REFRESH | NOCAREREFRESH | ACTIVATE)
  53.  
  54. #define PROJECT_WINDOW_DETAIL_PEN    0
  55. #define PROJECT_WINDOW_BLOCK_PEN    1
  56. #define PROJECT_WINDOW_TITLE        (UBYTE *)NULL
  57. #define PROJECT_WINDOW_IDCMP        (MOUSEMOVE | MOUSEBUTTONS | NEWSIZE | GADGET_IDCMP_FLAGS_ALL)
  58. #define PROJECT_WINDOW_FLAGS        (WINDOWDRAG | WINDOWDEPTH | WINDOWSIZING | SMART_REFRESH | RMBTRAP | REPORTMOUSE)
  59. #define PROJECT_WINDOW_MIN_WIDTH    100
  60. #define PROJECT_WINDOW_MIN_HEIGHT    20
  61.  
  62.     /* Defines for text len */
  63.  
  64. /* #define MAX_PROJECT_NAME_LEN    (LONG_FSIZE + 1 ) */
  65. #define MAX_PROJECT_NAME_LEN    (126 + 1)
  66.  
  67.  
  68. #define MAX_PROJECT_ID_LEN    10
  69. #define MAX_TEMPLATE_NAME_LEN    30
  70. #define MAX_TEXT_LEN        40
  71.  
  72.     /* Defines for editor status */
  73.  
  74. #define EDITOR_STATUS_NORMAL    0
  75. #define EDITOR_STATUS_EOF        1
  76. #define EDITOR_STATUS_EOB        2
  77. #define EDITOR_STATUS_EDIT        3
  78. #define EDITOR_STATUS_WINDOW    4
  79. #define EDITOR_STATUS_NEW        5
  80. #define EDITOR_STATUS_LOAD        6
  81. #define EDITOR_STATUS_APPEND    7
  82. #define EDITOR_STATUS_SAVE        8
  83. #define EDITOR_STATUS_SAVE_C    9
  84. #define EDITOR_STATUS_ABOUT    10
  85. #define EDITOR_STATUS_QUIT        11
  86. #define EDITOR_STATUS_SCREEN    12
  87.  
  88.     /* Defines for editor error messages */
  89.  
  90. #define EDITOR_ERROR_NO_REQTOOLS        -1
  91. #define EDITOR_ERROR_NO_INTUISUP    -2
  92. #define EDITOR_ERROR_NO_WINDOW        -3
  93. #define EDITOR_ERROR_OUT_OF_MEM        -4
  94. #define EDITOR_ERROR_OPEN_FAILED    -5
  95. #define EDITOR_ERROR_WRITE_FAILED    -6
  96. #define EDITOR_ERROR_READ_FAILED    -7
  97. #define EDITOR_ERROR_LINE_TOO_LONG    -8
  98. #define EDITOR_ERROR_NO_ARGUMENT    -9
  99. #define EDITOR_ERROR_END_WRONG_BLOCK    -10
  100. #define EDITOR_ERROR_INVALID_FONT    -11
  101.  
  102.     /* Defines for editor gadgets */
  103.  
  104. #define EDITOR_GADGET_TYPE        0
  105. #define EDITOR_GADGET_CREATE        1
  106. #define EDITOR_GADGET_MODIFY        2
  107. #define EDITOR_GADGET_CLONE        3
  108. #define EDITOR_GADGET_DELETE        4
  109. #define EDITOR_GADGET_EDIT        5
  110. #define EDITOR_GADGET_USE        6
  111. #define EDITOR_GADGET_TEMPLATES        7
  112.  
  113. #define EDITOR_MODE_CREATE    0
  114. #define EDITOR_MODE_MODIFY    1
  115. #define EDITOR_MODE_CLONE    2
  116. #define EDITOR_MODE_DELETE    3
  117. #define EDITOR_MODE_EDIT    4
  118. #define EDITOR_MODE_USE        5
  119.  
  120. #define MODIFY_MODE_MOVE    0
  121. #define MODIFY_MODE_RESIZE    1
  122.  
  123.     /* Defines for templates */
  124.  
  125. #define TEMPLATE_TYPE_BORDER    0
  126. #define TEMPLATE_TYPE_TEXT    1
  127. #define TEMPLATE_TYPE_BUTTON    2
  128. #define TEMPLATE_TYPE_CHECK    3
  129. #define TEMPLATE_TYPE_MX    4
  130. #define TEMPLATE_TYPE_STRING    5
  131. #define TEMPLATE_TYPE_INTEGER    6
  132. #define TEMPLATE_TYPE_SLIDER    7
  133. #define TEMPLATE_TYPE_SCROLLER    8
  134. #define TEMPLATE_TYPE_CYCLE    9
  135. #define TEMPLATE_TYPE_COUNT    10
  136. #define TEMPLATE_TYPE_LISTVIEW    11
  137. #define TEMPLATE_TYPE_PALETTE    12
  138.  
  139. #define MAX_TEMPLATE_TYPES    13
  140.  
  141. #define FIRST_GADGET_TEMPLATE_TYPE    TEMPLATE_TYPE_BUTTON
  142.  
  143. #define TEMPLATE_FLAG_DEFAULT_NAME    (1 << 0)
  144. #define TEMPLATE_FLAG_MODIFIED        (1 << 1)
  145.  
  146.     /* Defines for template groups */
  147.  
  148. #define TEMPLATE_GROUP(tp)    (tp->tp_Type < FIRST_GADGET_TEMPLATE_TYPE ? tp->tp_Type : TEMPLATE_GROUP_GADGET)
  149.  
  150. #define TEMPLATE_GROUP_BORDER    0
  151. #define TEMPLATE_GROUP_TEXT    1
  152. #define TEMPLATE_GROUP_GADGET    2
  153.  
  154.     /* Defines for template list */
  155.  
  156. #define TEMPLATE_LIST_FLAG_CHANGED        (1 << 0)    /* template list modified */
  157. /* #define TEMPLATE_LIST_FLAG_RESIZING        (1 << 1)  enable resizing of project window */
  158. #define TEMPLATE_LIST_FLAG_REPORTMOUSE        (1 << 1) /* enable reportmouse of project_window */
  159. #define TEMPLATE_LIST_FLAG_BACK_FILL        (1 << 2)    /* fill background of project window */
  160. #define TEMPLATE_LIST_FLAG_RENDER_COLORS    (1 << 3)    /* use colors from render info for rendering project window */
  161. #define TEMPLATE_LIST_FLAG_AVAIL_FONTS        (1 << 4)    /* scan avail fonts for project window */
  162. #define TEMPLATE_LIST_FLAG_DEFAULT_WINDOW    (1 << 5)    /* use default flags and dimension for project window */
  163. #define TEMPLATE_LIST_FLAG_SOURCE_STATIC_DATA    (1 << 6)    /* define all data as static */
  164. #define TEMPLATE_LIST_FLAG_SOURCE_INNER_WINDOW    (1 << 7)    /* use for all offsets and dimensions data of the inner window */
  165. #define TEMPLATE_LIST_FLAG_SOURCE_WINDOW    (1 << 8)    /* generate C source for project window */
  166. #define TEMPLATE_LIST_FLAG_SOURCE_PROGRAM    (1 << 9)    /* generate C source for project test program */
  167.  
  168.     /* Defines for file requesters */
  169.  
  170. #define PROJECT_LOAD_HAIL_TEXT        " Load Project "
  171. #define PROJECT_APPEND_HAIL_TEXT    " Append Project "
  172. #define PROJECT_SAVE_HAIL_TEXT        " Save Project "
  173.  
  174. #define CSOURCE_SAVE_HAIL_TEXT        " Save C Source "
  175.  
  176.     /* Defines for edit gadgets */
  177.  
  178. #define EDIT_GADGET_OK        0
  179. #define EDIT_GADGET_DEFAULT    1
  180. #define EDIT_GADGET_SWITCH    2
  181. #define EDIT_GADGET_CANCEL    3
  182.  
  183. #define BORDER_GADGET_NAME    0
  184. #define BORDER_GADGET_TYPE    1
  185.  
  186. #define TEXT_GADGET_NAME    0
  187. #define TEXT_GADGET_TEXT    1
  188. #define TEXT_GADGET_FONT    2
  189. #define TEXT_GADGET_SIZE    3
  190. #define TEXT_GADGET_TYPE    4
  191. #define TEXT_GADGET_BOLD    5
  192. #define TEXT_GADGET_ITALIC    6
  193. #define TEXT_GADGET_UNDERLINED    7
  194. #define TEXT_GADGET_COLOR2    8
  195. #define TEXT_GADGET_COMPLEMENT    9
  196.  
  197. #define NORMAL_GADGET_NAME        0
  198. #define NORMAL_GADGET_TEXT        1
  199. #define NORMAL_GADGET_FONT        2
  200. #define NORMAL_GADGET_SIZE        3
  201. #define NORMAL_GADGET_POS        4
  202. #define NORMAL_GADGET_DISABLED        5
  203. #define NORMAL_GADGET_NO_BORDER        6
  204. #define NORMAL_GADGET_HIGHCOMP        7
  205. #define NORMAL_GADGET_HOTKEY        8
  206. #define NORMAL_GADGET_COLOR2        9
  207.  
  208. #define TEXT_POS_LEFT        0
  209. #define TEXT_POS_RIGHT        1
  210. #define TEXT_POS_ABOVE        2
  211. #define TEXT_POS_BELOW        3
  212. #define TEXT_POS_INSIDE        4
  213.  
  214. #define GADGET_TEXT_POS_MASK(flags)    (flags & (GADGET_DATA_FLAG_TEXT_LEFT | GADGET_DATA_FLAG_TEXT_RIGHT | GADGET_DATA_FLAG_TEXT_ABOVE | GADGET_DATA_FLAG_TEXT_BELOW))
  215.  
  216.     /* Defines for load file */
  217.  
  218. #define LOAD_MODE_NORMAL    0
  219. #define LOAD_MODE_APPEND    1
  220.  
  221.     /* Defines for text list editor modes */
  222.  
  223. #define LIST_MODE_EDIT        0
  224. #define LIST_MODE_ADD        1
  225. #define LIST_MODE_INSERT    2
  226. #define LIST_MODE_DELETE    3
  227.  
  228.     /* Defines for screen */
  229.  
  230. #define EDITOR_SCREEN_TYPE_WBENCH    0
  231. #define EDITOR_SCREEN_TYPE_CUSTOM    1
  232. #define EDITOR_SCREEN_TYPE_BITMAP    2
  233.  
  234.     /* Structures */
  235.  
  236. struct TemplateFont {
  237.     struct MinNode   tf_MinNode;
  238.     struct TextAttr  tf_TextAttr;
  239.     SHORT    tf_UseCount;
  240. };
  241.  
  242. struct Box {
  243.     SHORT    bo_X1;
  244.     SHORT    bo_Y1;
  245.     SHORT    bo_X2;
  246.     SHORT    bo_Y2;
  247. };
  248. struct Dimension {
  249.     USHORT    dim_Width;
  250.     USHORT    dim_Height;
  251. };
  252. struct Template {
  253.     struct Node        tp_Node;        /* ln_Name points to tp_Name */
  254.     USHORT    tp_Type;            /* long word align */
  255.     USHORT    tp_Flags;
  256.     USHORT  tp_GroupEntryNum;        /* ordinal number of group entry in template list -> used for default name */
  257.     struct Box   tp_Box;
  258.     struct List  tp_TextList;         /* list for MX, Cycle und ListView template texts */
  259.     union {
  260.         struct BorderData  tp_BorderData;
  261.         struct TextData    tp_TextData;
  262.         struct GadgetData  tp_GadgetData;
  263.     } tp_Data;
  264.     ULONG    tp_DataEnd;            /* needed for data end marker ISUP_DATA_END */
  265.     struct Template  *tp_PrevLocked;    /* ptr to previous locked template */
  266.     struct Template  *tp_NextLocked;    /* ptr to next locked template */
  267.     BYTE    tp_TemplateName[MAX_TEMPLATE_NAME_LEN + 1];
  268. };
  269. struct TemplateList {
  270.     struct MinList  tl_Fonts;
  271.     struct MinList  tl_Templates;
  272.     USHORT    tl_BorderTemplates;
  273.     USHORT    tl_TextTemplates;
  274.     USHORT    tl_GadgetTemplates;
  275.     USHORT    tl_Flags;
  276.     ULONG        tl_IDCMPFlags;
  277.     BYTE    tl_ProjectName[MAX_PROJECT_NAME_LEN + 1];
  278.     BYTE    tl_ProjectWinName[MAX_PROJECT_NAME_LEN + 1];
  279.     BYTE    tl_ProjectID[MAX_PROJECT_ID_LEN + 1];
  280. };
  281.